package top.infopub.job.bpa.service;

import java.math.BigDecimal;
import java.util.Map;

import top.infopub.generic.GenericService;
import top.infopub.model.bpa.OutcaeSure;

public interface OutcaeSureService extends GenericService<OutcaeSure, String> {
 
	/** codegen **/
    /**
     * 查询某个项目 当月对外确权金额(下浮后）
     * @param where sureMonth，proCode
     * @return 
     * @see
     */
    BigDecimal selectProQaOfOutSure(Map<String, Object> where);
    
    /**
     * 查询某个项目 当月对外确权金额(下浮前）
     * @param where sureMonth，proCode
     * @return 
     * @see
     */
    BigDecimal selectProQaOfOutSureBefore(Map<String, Object> where);

    /**
     * 查询某个区域 当月对外确权金额(下浮后）
     * @param where sureMonth，hrOrgAreaId
     * @return 
     * @see
     */
    BigDecimal selectAreaQaOfOutSure(Map<String, Object> where);

    /**
     * 汇总所有项目 当月对外确权金额(下浮后）   排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where sureMonth
     * @return 
     * @see
     */
    BigDecimal selectAllProQaOfOutSure(Map<String, Object> where);
    
    /**
     * 查询某个项目 1. 建安毛利：子项合计【Min（对外建安产值确权表_当月对外确权金额（下浮前）、对内建安产值确权表_当月对内确权金额（下浮前））*（对外建安产值确权表_对外下浮率—对外建安产值确权表_对内下浮率）】+{预（结）算审批表_建安毛利调整额}
     *  (*确权表统计时间：确权月份；调整额统计时间：预(结)算审批表审批通过时间；原始单位：元）；
     * @param where sureMonth，proCode
     * @return 
     * @see
     */
    BigDecimal selectProQaOfGrossProfit(Map<String, Object> where);
    
    /**
     * 查询是否存在项目所处阶段
     */
    int count(String proCode);
    
}